Method and system for beamforming in a multiple user multiple input multiple output (MIMO) communication system using a codebook

ABSTRACT

A method and system for beamforming in a multiple user multiple input multiple output (MIMO) communication system using a codebook may include a processor in a node B that enables generation of an interference cancellation matrix (W R ). The interference cancellation matrix, also referred to as a matched filter, may enable a composite signal (Y) to be represented as a plurality of subsidiary signals (y i ), each of which is transmitted by the node B for reception at a corresponding i th  UE station. Each of the subsidiary signals y i  may be generated based on a corresponding one of a plurality of data stream signals (x i ). The processor may enable generation of a precoding matrix (W T ) based on the interference cancellation matrix. A transmitter within the node B may enable generation of a plurality of signals based on the preceding matrix. The signals may be transmitted via a wireless communication medium.

CROSS-REFERENCE TO RELATED APPLICATIONS/INCORPORATION BY REFERENCE

This application makes reference to, claims priority to, and claims the benefit of U.S. Provisional Application Ser. No. 60/970,794 filed Sep. 7, 2007 and U.S. Provisional Application Ser. No. 61/073,842 filed Jun. 19, 2008, which are hereby incorporated herein by reference in their entirety.

FIELD OF THE INVENTION

Certain embodiments of the invention relate to communication networks. More specifically, certain embodiments of the invention relate to a method and system for beamforming in a multiple user multiple input multiple output (MIMO) communication system using a codebook.

BACKGROUND OF THE INVENTION

Mobile communication has changed the way people communicate and mobile phones have been transformed from a luxury item to an essential part of every day life. The use of mobile phones is today dictated by social situations, rather than hampered by location or technology. While voice connections fulfill the basic need to communicate, and mobile voice connections continue to filter even further into the fabric of every day life, the mobile Internet is the next step in the mobile communication revolution. The mobile Internet is poised to become a common source of everyday information, and easy, versatile mobile access to this data will be taken for granted.

Third generation (3G) cellular networks have been specifically designed to fulfill these future demands of the mobile Internet. The 3^(rd) Generation Partnership Project (3GPP) is a collaboration among telecommunications associations from around the world whose purpose is to develop standards for wireless networks, which meet the demands of the mobile Internet. One of the projects undertaken by the 3GPP toward this end is referred to as the 3GPP long term evolution (3GPP LTE) project. The 3GPP LTE project has a broad set of objectives relating to specifications for data transfer rates and frequency spectrum utilization in wireless communication networks.

Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.

BRIEF SUMMARY OF THE INVENTION

A method and system for beamforming in a multiple user multiple input multiple output (MIMO) communication system using a codebook, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.

These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary MIMO transceiver, which may be utilized in connection with an embodiment of the invention.

FIG. 2 is a block diagram of an exemplary multiple user MIMO system, which may be utilized in connection with an embodiment of the invention.

FIG. 3 is a flowchart that illustrates exemplary steps for a node B MIMO design for 3GPP LTE systems, in accordance with an embodiment of the invention.

FIG. 4 is a flowchart that illustrates exemplary steps for selecting quantized beamforming vectors from a code book, in accordance with an embodiment of the invention.

FIG. 5 is a flowchart that illustrates exemplary steps for a UE station MIMO design for 3GPP LTE systems, in accordance with an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

Certain embodiments of the invention may be found in a method and system for beamforming in a multiple user multiple input multiple output (MIMO) communication system using a codebook. Various embodiments of the invention may be practiced in connection with third generation partnership project (3GPP) long term evolution (LTE) systems. In various embodiments of the invention, a MIMO base station in a wireless communication system may concurrently transmit precoded signals via a plurality of M_(T) transmitting antennas. The precoded signals may be subsequently processed by utilizing beamforming techniques prior to being transmitted via the plurality of transmitting antennas. In various embodiments of the invention, the precoding and beamforming steps may be combined without loss of generality. The plurality of M_(T) concurrently transmitted signals may be received at a plurality of K user equipment (UE) stations, each of which may receive the signals via a plurality of M_(R) receiving antennas. The transmitted signals may be precoded based on feedback data received from each of the UE stations.

At the receiving end, each of the UE stations may utilize an interference cancellation filter to selectively receive portions of the precoded signals while rejecting other portions of the precoded signals. The filtering characteristics for the interference cancellation filter at each UE station may be determined based on data received from the base station. In various embodiments of the invention, the interference cancellation filter utilized by an i^(th) UE station (among the K UE stations) may enable the UE station to transform the signals received from the base station to a plurality of K signals. The UE station may select the i^(th) signal among the plurality of K signals for further processing while rejecting signals j≠i.

FIG. 1 is a block diagram of an exemplary MIMO transceiver, which may be utilized in connection with an embodiment of the invention. Referring to FIG. 1, there is shown a wireless transceiver station 102 and a plurality of antennas 132 a . . . 132 n. The wireless transceiver station 102 is an exemplary wireless communication device, which may be utilized at a base station or at a UE in a wireless communication system. In an exemplary 3GPP wireless communication system, the base station may be referred to as a node B. The plurality of antennas 132 a . . . 132 n may enable the wireless transceiver station 102 to transmit and/or receive signals, for example radio frequency (RF) signals, via a wireless communication medium. The wireless transceiver station 102 shown in FIG. 1 may also be depicted as comprising one or more transmitting antennas, which are coupled to the transmitter 116 and one or more receiving antennas, which may be coupled to the receiver 118 without loss of generality.

The exemplary wireless transceiver station comprises a processor 112, a memory 114, a transmitter 116, a receiver 118, a transmit and receive (T/R) switch 120 and an antenna matrix 122. The antenna matrix 122 may enable selection of one or more of the antennas 132 a . . . 132 n for transmitting and/or receiving signals at the wireless transceiver station 102. The T/R switch 120 may enable the antenna matrix 122 to be communicatively coupled to the transmitter 116 or receiver 118. When the T/R switch 120 enables communicative coupling between the transmitter 116 and the antenna matrix 122, the selected antennas 132 a . . . 132 n may be utilized for transmitting signals. When the T/R switch 120 enables communicative coupling between the receiver 118 and the antenna matrix 122, the selected antennas 132 a . . . 132 n may be utilized for receiving signals.

The transmitter 116 may enable the generation of signals, which may be transmitted via the selected antennas 132 a . . . 132 n. The transmitter 116 may generate signals by performing coding functions, signal modulation and/or signal modulation. In various embodiments of the invention, the transmitter 116 may enable generation of signals using precoding and/or beamforming techniques.

The receiver 118 may enable the processing of signals received via the selected antennas 132 a . . . 132 n. The receiver 118 may generate data based on the received signals by performing signal amplification, signal demodulation and/or decoding functions. In various embodiments of the invention, the receiver 118 may enable generation of data, which may be utilized by the transmitter 116 for preceding and/or beamforming of generated signals.

The processor 112 may enable the generation of transmitted data and/or the processing of received data. The processor 112 may generate data, which is utilized by the transmitter 116 to generate signals. The processor 112 may process data generated by the receiver 118. In various embodiments of the invention in a node B, the processor 112 may process data received by the receiver 118 and generate coefficient data, which may be utilized by the transmitter 116 for preceding and/or beamforming of generated signals. The coefficient data may be stored in the memory 114.

In various embodiments of the invention, in a UE station, the processor 112 may be operable to process data received by the receiver to generate beamforming data and/or channel quality information (CQI). The beamforming data and/or CQI may be stored in the memory 114. The beamforming data and/or CQI may be sent to the transmitter 116 by the processor 112 or the beamforming data and/or CQI may be retrieved from the memory 114 by the transmitter 116. The transmitter 116 may utilize the beamforming data and/or CQI to generate signals, which are transmitted via the transmitting antennas 132 a . . . 132 n.

FIG. 2 is a block diagram of an exemplary multiple user MIMO system, which may be utilized in connection with an embodiment of the invention. Referring to FIG. 2, there is shown a transmitter 116 (from FIG. 1) with a plurality of transmitting antennas 212 a, 212 b, . . . , 212 n, a receiver 118 (from FIG. 1), a UE station 222 a with a plurality of antennas 232 a . . . 232 n, a UE station 222 b with a plurality of antennas 242 a . . . 242 n, a UE station 222 n with a plurality of antennas 252 a . . . 252 n, and a communication medium 262. The number of UE stations 222 a, 222 b, . . . , 222 n may be represented by the quantity K. The antennas 242 a . . . 242 n, 242 a . . . 242 n and/or 252 a . . . 252 n may be utilized for transmission and/or reception of signals at UE 222 a, 222 b and 222 n, respectively. The number of antennas at each UE may be represented by the quantity M_(R). However, in various embodiments of the invention, the number of antennas at any given UE may be independently determined. The transmitter 116 may comprise a precoder 202 and a beamformer 204. The receiver 118 may comprise a beamforming controller 206. In various embodiments of the invention, the transmitter 116 and receiver 118 may be components within a node B. The number of transmitting antennas 212 a, 212 b, . . . , 212 n may be represented by the quantity M_(T).

In various embodiments of the invention the node B may concurrently transmit data streams x₁, x₂, . . . , x_(K) to a plurality of K UE stations such that the i^(th) UE is the intended recipient of data stream x_(i). Each of the data streams may represent M_(S) spatial streams or space-time streams. In an exemplary embodiment of the invention, M_(S)=1 and each data stream represents a single data stream or space-time stream. The precoder 202 may generate precoded data streams by precoding the transmit data streams x₁, x₂, . . . , x_(K) based on a transmitter precoding matrix W_(T). The beamformer 204 may receive the precoded data streams and generate a plurality of M_(T) transmitted signals based on a beamforming matrix V. Each of the M_(T) transmitted signals may be transmitted by a distinct one of the transmitting antennas 212 a, 212 b, . . . , 212 n. The transmitted signals may propagate across the communication medium 262. The amplitude and/or phase of the transmitted signals may be modified as they propagate across the communication medium 262. The signal modification of propagating signals is referred to as fading. The signal fading characteristics of the communication medium 262 may be represented by a channel estimated matrix H. The signals received at UE 222 a may be referred to as signal y₁, the signals received at UE 222 b may be referred to as signal y₂ and the signals received at UE 222 n may be referred to as signal y_(K).

The UE 222 a may utilize an interference cancellation filter to process the received signal y₁ and thereby enable the detection of a received signal r₁. The received signal r₁ may represent an estimated value for the transmitted data stream x₁. The characteristics of the interference cancellation filter utilized at the UE 222 a may be represented by the matrix W_(R1). An interference cancellation filter may also be referred to as a “matched filter”. The UE 222 b may utilize an interference cancellation filter to process the received signal y₂ and thereby enable the detection of a received signal r₂. The received signal r₂ may represent an estimated value for the transmitted data stream x₂. The characteristics of the interference cancellation filter utilized at the UE 222 b may be represented by the matrix W_(R2). The UE 222 n may utilize an interference cancellation filter to process the received signal y_(K) and thereby enable the detection of a received signal r_(K). The received signal r_(K) may represent an estimated value for the transmitted data stream x_(K). The characteristics of the interference cancellation filter utilized at the UE 222 b may be represented by the matrix W_(RK).

Based on the received signal y₁, the UE 222 a may communicate feedback information to the receiver 118. For example, the received signal y₁ may enable the reception of PDUs from the transmitter 116. Each PDU may comprise a preamble field, which enables the UE 222 a to generate a beamforming matrix and/or CQI based on the received signal y₁. The beamforming matrix may be represented as a matrix v₁, and the CQI may be represented as CQI₁. The beamforming matrix and CQI may be communicated to the receiver 118 as feedback information (v₁,CQI₁) via the communication medium 262. The feedback information (v₁,CQI₁) may be communicated within frames (or generally protocol data units (PDU)), which comprise preamble data. The preamble data may enable the node B to compute a user channel matrix, H₁, which characterizes the communication medium 262 for signals transmitted by the UE 222 a and received at the receiver 118. Similarly, the UE 222 b and UE 222 n may communicate feedback information, (v₂,CQI₂) and (v_(K),CQI_(K)) respectively, to the receiver 118 via the communication medium 262. Reception of the feedback information in PDUs, which comprise (v₂,CQI₂) and in PDUs, which comprise (v_(K),CQI_(K)) may enable the node B to compute user channel matrices, H₂ and H_(K), which characterizes the communication medium 262 for signals transmitted by the UE 222 b and UE 222 n, respectively, and received at the receiver 118.

The beamforming controller 206 may receive feedback information (v_(i),CQI_(i)) from one or more UE stations. The beamforming controller 206 may enable the generation of precoding and/or beamforming coefficients, which may be utilized by the precoder 202 and/or beamformer 204 in connection with the precoding matrix W_(T) and/or the beamforming matrix, V.

In an exemplary embodiment of the invention the signals y_(i) may be represented as a function of the data streams x_(i) as follows:

$\begin{matrix} {\begin{bmatrix} y_{1} \\ y_{2} \\ \vdots \\ y_{K} \end{bmatrix} = {{H \times V \times W_{T} \times \begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{K} \end{bmatrix}} + \begin{bmatrix} n_{1} \\ n_{2} \\ \vdots \\ n_{K} \end{bmatrix}}} & \lbrack 1\rbrack \end{matrix}$ where y_(i) is a column vector comprising M_(R) rows (where M_(R) is the number of antennas utilized at the i^(th) UE station for receiving signals y_(i)), n_(i) represents signal noise and:

$\begin{matrix} {H = \begin{bmatrix} H_{1} \\ H_{2} \\ \vdots \\ H_{K} \end{bmatrix}} & \lbrack 2\rbrack \end{matrix}$ where H_(i) represents a channel estimate matrix (or user channel matrix) for signals y_(i) received at the i^(th) UE station: and V=[v ₁ v ₂ . . . v _(K)]  [3] where v_(i) is a column vector comprising M_(T) rows (where M_(T) is the number of transmitting antennas utilized at the node B), which is generated based on a beamforming matrix received from the i^(th) UE station.

The post interference cancellation signals r_(i) at each UE station may be represented as follows:

$\begin{matrix} {\begin{bmatrix} r_{1} \\ r_{2} \\ \vdots \\ r_{K} \end{bmatrix} = {{W_{R} \times H \times V \times W_{T} \times \begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{K} \end{bmatrix}} + {W_{R} \times \begin{bmatrix} n_{1} \\ n_{2} \\ \vdots \\ n_{K} \end{bmatrix}}}} & \lbrack 4\rbrack \end{matrix}$ where the matrix W_(R) is based on the individual matrices w_(Ri) for each UE station.

In various embodiments of the invention, the coefficients in the matrices W_(R) and W_(T) may be determined at a node B such that the matrix product W_(R)×H×V×W_(T) may at least be approximately represented by an orthogonal matrix. Furthermore, a matrix V_(T) may be defined. In various embodiments of the invention, the matrix V_(T) may be defined as a linear combination of the matrices V and W_(T) as follows: V _(T) =V×W _(T)(CQI)  [5] where the node B may generate the preceding matrix W_(T) based on the CQI feedback from one or more UE stations. In various embodiments of the invention in which the preceding matrix W_(T) is generated based on CQI feedback, the precoding matrix may be computed wherein different weighting factors may be assigned for different UE stations to enable the node B to concurrently transmit data to a plurality of UE stations at aggregate throughput rates, which may approach the Shannon capacity.

In one approach to determination of the matrices W_(R) and W_(T) singular value decomposition (SVD) may be utilized determine matrix W_(R) after which the matrix W_(T) may be determined such that the matrix product W_(R)×H×V×W_(T) may at least be approximately represented by an orthogonal matrix.

SVD is a method, which enables a matrix, M, to be represented as a matrix product of a diagonal singular matrix, S, a matrix of “output” basis vectors of M, U, and a matrix of “input” basis vectors of M, V: M=U×S×V*  [6] where V* is a conjugate transpose version of the matrix V.

As a first step in the SVD procedure, the data streams x_(i) may be assumed to each comprise a single spatial stream, or space-time stream (M_(S)=1), the matrix W_(R) may be represented by the matrix U and the matrix W_(T) from equation [4] may be, for the time, assumed to be an identity matrix. In this case, equation [4] may be represented as follows:

$\begin{matrix} {{U \times \begin{bmatrix} y_{1} \\ y_{2} \\ \vdots \\ y_{K} \end{bmatrix}} = {{U \times H \times V \times \begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{K} \end{bmatrix}} + \begin{bmatrix} {\overset{\_}{n}}_{1} \\ {\overset{\_}{n}}_{2} \\ \vdots \\ {\overset{\_}{n}}_{K} \end{bmatrix}}} & \lbrack 7\rbrack \end{matrix}$

The matrix U, which represents the set of matched filters for each of the quantity of K UE stations may be represented as a diagonal matrix for which the matrix component in the i^(th) row may be represented as u_(i) (i.e. the matched filter for the i^(th) UE station). Consequently, equation [7] may be represented as follows:

$\begin{matrix} {{\begin{bmatrix} u_{1}^{*} & 0 & \ldots & 0 \\ 0 & u_{2}^{*} & 0 & \vdots \\ \vdots & 0 & \ddots & 0 \\ 0 & 0 & 0 & u_{K}^{*} \end{bmatrix} \times \begin{bmatrix} y_{1} \\ y_{2} \\ \vdots \\ y_{K} \end{bmatrix}} = {\begin{bmatrix} u_{1}^{*} & 0 & \ldots & 0 \\ 0 & u_{2}^{*} & 0 & \vdots \\ \vdots & 0 & \ddots & 0 \\ 0 & 0 & 0 & u_{K}^{*} \end{bmatrix} \times \left\lbrack \begin{matrix} H_{1} \\ H_{2} \\ \vdots \\ H_{K} \end{matrix} \right\rbrack \times {\quad{{{\left\lbrack {\begin{matrix} v_{1} & v_{2} & \ldots & v_{K} \end{matrix}\left. \quad \right\rbrack}\quad \right. \times \begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{K} \end{bmatrix}} + \begin{bmatrix} {\overset{\_}{n}}_{1} \\ {\overset{\_}{n}}_{2} \\ \vdots \\ {\overset{\_}{n}}_{K} \end{bmatrix}} = {\quad{{\left\lbrack \begin{matrix} {u_{1}^{*} \cdot H_{1} \cdot v_{1}} & {u_{1}^{*} \cdot H_{1} \cdot v_{2}} & \ldots & {u_{1}^{*} \cdot H_{1} \cdot v_{K}} \\ {u_{2}^{*} \cdot H_{2} \cdot v_{1}} & {u_{2}^{*} \cdot H_{2} \cdot v_{2}} & \ldots & {u_{2}^{*} \cdot H_{2} \cdot v_{K}} \\ \vdots & \vdots & \ddots & \vdots \\ {u_{K}^{*} \cdot H_{K} \cdot v_{1}} & {u_{K}^{*} \cdot H_{K} \cdot v_{2}} & \ldots & {u_{K}^{*} \cdot H_{K} \cdot v_{k}} \end{matrix} \right\rbrack \times \begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{K} \end{bmatrix}} + \begin{bmatrix} {\overset{\_}{n}}_{1} \\ {\overset{\_}{n}}_{2} \\ \vdots \\ {\overset{\_}{n}}_{K} \end{bmatrix}}}}}}} & \lbrack 8\rbrack \end{matrix}$

Furthermore, when M_(S)=1, the number of receiving antennas M_(R) at each UE station 222 a, 222 b, . . . , 222 n may also be equal to one (1). In such case, each user channel matrix, H_(i), may be represented as a matrix with a matrix rank of one (1). An SVD representation of the user channel matrix H_(i) may be represented by a single singular value. In this instance, equation [8] may be represented as follows:

$\begin{matrix} {{\begin{bmatrix} u_{1}^{*} & 0 & \ldots & 0 \\ 0 & u_{2}^{*} & 0 & \vdots \\ \vdots & 0 & \ddots & 0 \\ 0 & 0 & 0 & u_{K}^{*} \end{bmatrix} \times \begin{bmatrix} y_{1} \\ y_{2} \\ \vdots \\ y_{K} \end{bmatrix}} = {\begin{bmatrix} \lambda_{1} & 0 & \ldots & 0 \\ 0 & \lambda_{2} & 0 & \vdots \\ \vdots & 0 & \ddots & 0 \\ 0 & 0 & 0 & \lambda_{K} \end{bmatrix} \times {\quad{\begin{bmatrix} 1 & \rho_{12} & \ldots & \rho_{1\; K} \\ \rho_{21} & 1 & \ldots & \rho_{2\; K} \\ \vdots & \vdots & \ddots & \vdots \\ \rho_{K\; 1} & \rho_{K\; 2} & \ldots & 1 \end{bmatrix}{\quad{{\times \begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{K} \end{bmatrix}} + \begin{bmatrix} {\overset{\_}{n}}_{1} \\ {\overset{\_}{n}}_{2} \\ \vdots \\ {\overset{\_}{n}}_{K} \end{bmatrix}}}}}}} & \lbrack 9\rbrack \end{matrix}$ where λ_(i) represents the singular value for the matrix H_(i), ρ_(ij)=v_(i)*·v_(j) and u_(i)*=v_(i) ⁻¹.

Based on equation [9], when the matrix W_(T) may be represented as follows:

$\begin{matrix} {W_{T} = \begin{bmatrix} 1 & \rho_{12} & \ldots & \rho_{1\; K} \\ \rho_{21} & 1 & \ldots & \rho_{2\; K} \\ \vdots & \vdots & \ddots & \vdots \\ \rho_{K\; 1} & \rho_{K\; 2} & \ldots & 1 \end{bmatrix}^{- 1}} & \left\lbrack {10a} \right\rbrack \end{matrix}$ When represented as a function of CQI, W_(T) may be represented as follows:

$\begin{matrix} {{W_{T}({CQI})} = {\begin{bmatrix} 1 & \rho_{12} & \ldots & \rho_{1\; K} \\ \rho_{21} & 1 & \ldots & \rho_{2\; K} \\ \vdots & \vdots & \ddots & \vdots \\ \rho_{K\; 1} & \rho_{K\; 2} & \ldots & 1 \end{bmatrix}^{- 1} \times \left\lbrack \begin{matrix} {\alpha_{1}\left( {CQI}_{1} \right)} & 0 & \ldots & 0 \\ 0 & {\alpha_{1}\left( {CQI}_{2} \right)} & 0 & \vdots \\ \vdots & 0 & \ddots & 0 \\ 0 & \ldots & 0 & {\alpha_{K}\left( {CQI}_{K} \right)} \end{matrix} \right\rbrack}} & \left\lbrack {10b} \right\rbrack \end{matrix}$ where α_(i)(CQI_(i)) refers to the CQI weighting factor for the i^(th) UE station. Equation [10b] presents an example in which the matrix W_(T) may be generated based on CQI feedback. In instances when α_(i)(CQI_(i))=α_(j)(CQI_(j)), the second matrix on the right hand side of equation [10b] may be replaced by an identity matrix.

The matrix product W_(R)×H×V×W_(T) may at least be approximately represented by an orthogonal matrix as shown below:

$\begin{matrix} {{{W_{R} \times H \times V \times W_{T}} = \begin{bmatrix} \lambda_{1} & 0 & \ldots & 0 \\ 0 & \lambda_{2} & 0 & \vdots \\ \vdots & 0 & \ddots & 0 \\ 0 & 0 & 0 & \lambda_{K} \end{bmatrix}}{{and}\text{:}}} & \lbrack 11\rbrack \\ \begin{matrix} {V_{T} = {V \times W_{T}}} \\ {= {\left\lbrack {\begin{matrix} v_{1} & v_{2} & \ldots & v_{K} \end{matrix}\left. \quad \right\rbrack}\quad \right. \times \begin{bmatrix} 1 & \rho_{12} & \ldots & \rho_{1\; K} \\ \rho_{21} & 1 & \ldots & \rho_{2\; K} \\ \vdots & \vdots & \ddots & \vdots \\ \rho_{K\; 1} & \rho_{K\; 2} & \ldots & 1 \end{bmatrix}^{- 1}}} \end{matrix} & \lbrack 12\rbrack \end{matrix}$ where, for illustrative purposes, the CQI weighting factor matrix shown in equation [10b] is represented as an identity matrix.

When each vector v_(i) is orthogonal to each vector v_(j) (for i≠j), each product v_(i)·v_(j)=0 and the matrix W_(T), shown in equation [10a], may be represented by an identity matrix. The matrix shown in equation [10a] is referred to as a correlation matrix. After computing the matrix V_(T) as in equation [12], the node B may communicate the matrix V_(T) to each UE station.

The matrix V_(T) may comprise a set of floating point values for each constituent vector v_(Ti), where v_(Ti) may be computed as shown in equation [12] by multiplying the floating point matrix V by the i^(th) column in the floating point matrix W_(T). In various embodiments of the invention, the quantity of data communicated by the node B to each UE station may be reduced by generated a quantized version of the matrix V_(T) wherein the quantized version of the matrix V_(T) may be communicated by the node B to each UE station.

In various embodiments of the invention, coefficient values for the matrix V_(T) may be selected based on a code book (for example a 3GPP code book) of possible coefficient values. The selected coefficient values for the matrix V_(T) selected from the code book may represent a quantized version of the coefficients in the matrix V_(T) as computed in equation [12].

A quantized value v_(l) ^(Q) may be selected from the code book, which has the highest computed correlation value with the vector v_(Ti) as shown in the following equation: p=arg(max(v _(Ti) *×v _(l) ^(Q))), where l=1, 2, . . . , L  [13] where L represents the number of potential quantized values v_(l) ^(Q) in the code book and I represents an index to a selected candidate quantized value v_(l) ^(Q) in the code book. The function arg(x) returns a value, which is equal to the angle component in a polar representation of a complex-valued x. In equation [13] the function max(x) indicates that the candidate quantized value v_(l) ^(Q) for which the correlation value with V_(Ti)* may be highest (as represented by the product v_(Ti)*×v_(l) ^(Q)) may be selected. The value p as computed in equation [13] represents the value l, which may be associated with the highest correlation value (i.e. p represents a code book index value). Consequently, the quantized version of coefficients in the vector v_(Ti) may be represented by v_(p) ^(Q). The quantized version of the vector v_(Ti), v_(Ti) ^(Q), may be represented as follows: v _(Ti) ^(Q) =v _(p(i)) ^(Q)  [14] where p(i) represents the value of p for the i^(th) UE station.

The quantization method disclosed in equation [13], which is based on cordal distance computation, is an exemplary quantization method, which may be utilized in various embodiments of the invention. Various embodiments of the invention, however, are not limited to the quantization method presented of equation [13].

The node B may select a quantized vector v_(Ti) ^(Q) for each UE station. A quantized V_(T) ^(Q) may be represented as follows: V _(T) ^(Q) =[v _(T1) ^(Q) v _(T2) ^(Q) . . . v _(TK) ^(Q)]  [15]

In various embodiments of the invention the node B may communicate the quantized vectors [v_(T1) ^(Q) v_(T2) ^(Q) . . . v_(TK) ^(Q)] to each UE station. In one aspect of the invention, the node B may communicate the quantized vectors [v_(T1) ^(Q) v_(T2) ^(Q) . . . v_(TK) ^(Q)] to each UE station by communicating the set of code book index values p(i) as computed in equation [13] for values i=1,2, . . . , K (where K represents the number of UE stations as described above). For example, the node B may communicate code book index values [p(1) p(2) . . . p(K)] to each of the UE stations.

In general, in instances when the correlation matrix shown in equation [10a] is not an identity matrix, a quantized value is computed for each element in the matrix V_(T) as shown below:

$\begin{matrix} {V_{T}^{Q} = {{quantize}\left( {\left\lbrack \begin{matrix} v_{1} & v_{2} & \ldots & v_{K}^{Q} \end{matrix} \right\rbrack \times \begin{bmatrix} 1 & \rho_{12} & \ldots & \rho_{1\; K} \\ \rho_{21} & 1 & \ldots & \rho_{2\; K} \\ \vdots & \vdots & \ddots & \vdots \\ \rho_{K\; 1} & \rho_{K\; 2} & \ldots & 1 \end{bmatrix}^{- 1}} \right)}} & \lbrack 16\rbrack \end{matrix}$ where, the value for the function quantize (V×W_(T)) refers to a quantized value for the matrix product V×W_(T). In an exemplary embodiment of the invention, the quantize (V×W_(T)) function may utilize the quantization method as disclosed in equation [13]. For example, the quantized vector v_(Ti) ^(Q) may be computed as shown in the following equation: v _(Ti) ^(Q)=quantize([v₁ ^(Q) v ₂ ^(Q) . . . v _(K) ^(Q) ]×W _(Ti))  [17] where W_(Ti) refers to the i^(th) column in the matrix W_(T).

An i^(th) UE, may generate a matched filter matrix W_(Ri) based on the set of code book values, V_(T) ^(Q), received from the node B. The matched filter matrix W_(Ri) may enable the i^(th) UE to selectively receive a data stream x_(i) from a received signal y_(i) which also includes contributions from data streams x_(j) where j≠i. In this regard, the matched filter matrix W_(Ri) may be utilized at the i^(th) UE for interference cancellation filtering of the received signal y_(i), which was generated by a transmitting node B based on data streams x₁, x₂, . . . , x_(M) _(T) . At the i^(th) UE, x_(i) corresponds to the desired data stream for selective reception while data streams x_(j) (j≠i) correspond to interference.

In various embodiments of the invention an i^(th) UE may generate a matched filter matrix W_(Ri) based on a received set of quantized vectors [v_(T1) ^(Q) v_(T2) ^(Q) . . . v_(TK) ^(Q)], or other indicia whose values are correlative with the quantized vectors [v_(T1) ^(Q) v_(T2) ^(Q) . . . v_(TK) ^(Q)]. In an exemplary embodiment of the invention as described above, each UE may receive a set of code book values, V_(T) ^(Q), which are correlative with the set of quantized vectors.

In an exemplary embodiment of the invention, an i^(th) UE may compute a matched filter matrix W_(Ri) as follows: w _(Ri) ×H _(i) ×[v _(T1) ^(Q) v _(T2) ^(Q) . . . v _(TK) ^(Q)]=[0 . . . 0 1_(i) 0 . . . 0]  [18] where the value “1” is located in the i^(th) column of the matrix on the right hand side of equation [18], and: w _(Ri)=[0 . . . 0 1_(i) 0 . . . 0]×(H _(i) ×[v _(T1) ^(Q) v _(T2) ^(Q) . . . v _(TK) ^(Q)])⁻¹  [19] The matched filter values W_(Ri), computed as shown in equation [19], represent updated matched filter values, which may be computed in response to the quantized values V_(Tj) ^(Q).

In general, in instances when the correlation matrix shown in equation [10a] is not an identity matrix, the UE station may receive a matrix of code book values p(i,j) and generate a quantized matrix V_(T) ^(Q) as shown in equation [16]. In this case, the matched filter matrix W_(Ri) may be computed based on the quantized matrix V_(T) ^(Q) in equations [18] and [19] instead of based on a set of quantized vectors [v_(T1) ^(Q) v_(T2) ^(Q) . . . v_(TK) ^(Q)].

In various embodiments of the invention, an i^(th) UE, may generate a matched filter matrix w_(Ri) when the UE receives a set of floating point values, V_(T), from the node B by a procedure, which is substantially similar to the procedure described above.

In various embodiments of the invention, an i^(th) UE may reduce the number of operations performed in the computation of the matched filter matrix W_(Ri) by generating a quantized version of a received floating point matrix V_(T), V_(T) ^(Q)=quantized(V_(T)), and generating the matched filter matrix W_(Ri) based on the quantized matrix V_(T) ^(Q). In this regard, higher performance UEs may generate a matched filter matrix W_(Ri) with greater accuracy by utilizing the floating point matrix V_(T) while lower performance UEs may generate a matched filter matrix W_(Ri) with lesser accuracy by utilizing the quantized matrix V_(T) ^(Q).

Various embodiments of the invention may be practiced when M_(S)>1. In such each UE station may utilize M_(R)≠M_(S) antennas. For example, when M_(S)=1, each ρ_(ij) element in the correlation matrix shown in equation [10a] may be represented as a scalar value. When M_(S)=2, each ρ_(ij) element in the correlation matrix shown in equation [10a] may be represented as a 2×2 matrix. Similarly, the user channel matrix, H_(i), may be represented as a 2×2 diagonal matrix, which comprises two (2) singular values.

Various embodiments of the invention may not be limited to the application of SVD. For example, various embodiments of the invention may also be practiced in connection with geometric mean decomposition (GMD), QR decomposition or minimum mean square error (MMSE) techniques. In an exemplary embodiment of the invention, which utilizes MMSE, the matrix W_(T) may be represented as follows: W _(T)=(R+σ ²·Λ⁻²)⁻¹  [19] where R represents a correlation matrix among vectors v_(i) and v_(j), σ² represents noise power associated with the communication medium 262 and Λ² represents signal power for received signals y_(i). Λ, which may be represented as a diagonal matrix, may be computed at a node B based on CQI values received as feedback from the UE stations.

FIG. 3 is a flowchart that illustrates exemplary steps for a node B MIMO design for 3GPP LTE systems, in accordance with an embodiment of the invention. Referring to FIG. 3, in step 302, the beamforming controller 206 at a node B may receive beamforming vectors v_(i) and CQI_(i) from each of a number of K UE station. In step 310, a processor 112 within the node B may enable computation of a plurality of correlation factors, p_(ij), based on the beamforming vectors, v_(i), and/or CQI_(i), received from each UE station. In step 312, a precoding filter W_(T) may be computed based on the correlation factors as shown, for example, in equation [10a]. In step 314, the set beamforming vectors v_(i) received at step 302 and the preceding filter W_(T) computed in step 312 may be utilized to compute a modified beamforming matrix V_(T) as shown in equation [12]. In step 316, the node B may quantize the matrix elements v_(Ti) based on a code book. In step 318, the set of code book selections V_(T) ^(Q) may be communicated from the transmitter 116 located in the node B to each of the number of K UE stations.

FIG. 4 is a flowchart that illustrates exemplary steps for selecting quantized beamforming vectors from a code book, in accordance with an embodiment of the invention. FIG. 4 refers to steps 316 and 318 in FIG. 3. Referring to FIG. 4, in step 402, the processor 112 may select a code book from which quantized values may be selected. The code book may comprise a set of L quantized vectors v_(l) ^(Q). In step 404, a correlation value may be generated between the beamforming vector v_(Ti) and each quantized vector v_(l) ^(Q) selected from the code book. Correlation values may be computed for each of the number of K UE stations. In step 406, the node B may select the quantized vector v_(p(i)) ^(Q) that is most correlated with the beamforming vector v_(Ti) for each UE station as shown in equation [13]. In step 408, the node B may communicate the set of code book indexes (p₁, p₂, . . . , p_(K)) to each UE station.

FIG. 5 is a flowchart that illustrates exemplary steps for a UE station MIMO design for 3GPP LTE systems, in accordance with an embodiment of the invention. Referring to FIG. 5, in step 502, the i^(th) UE station may transmit a beamforming vector v_(i) and CQI_(i) to the node B. In step 504, the i^(th) UE station may receive a set of code book indexes (p₁, p₂, . . . , p_(K)) from the node B. In step 506, the i^(th) UE station may compute a user channel matrix H_(i). The user channel matrix may be computed based on preamble data communicated via received signals y_(i). In step 508, the UE station may generate a matrix V_(T) based on the received quantization indexes (p_(i), p₂, . . . , p_(K)) and the beamforming vector v_(i) utilized at the i^(th) UE station. In step 510, i^(th) UE station may generate an inverse matrix product based on matrices H_(i) and V_(T). In step 512, the matched filter matrix W_(Ri) for the i^(th) UE station may be determined by selecting the i^(th) column from the inverse matrix product computed in step 510. In step 514, the i^(th) UE station may utilize the matched filter matrix W_(Ri) to filter received signals y_(i). The matched filter W_(Ri) may enable the i^(th) UE station to selectively receive data stream x_(i) from a received signal y_(i) which comprises contributions from a plurality of data streams (x₁, x₂, . . . , x_(K)).

A method and system for a MIMO design for 3GPP LTE systems may comprise a processor 112 in a node B 102 that enables generation of an interference cancellation matrix (W_(R)). The interference cancellation matrix, also referred to as a matched filter, may enable a composite signal (Y) to be represented as a plurality of subsidiary signals (y_(i)), each of which may be transmitted by the node B for reception at a corresponding i^(th) UE station 222. Each of the subsidiary signals y_(i) may be generated at the node B based on a corresponding one of a plurality of data stream signals (x_(i)). The ability to decompose a composite signal Y into a plurality of signals y_(i)(x_(i)) based on the interference cancellation matrix W_(R) may be referred to as an orthogonality condition. In an exemplary embodiment of the invention, the interference cancellation matrix W_(R) may be represented as shown in equation [8]. A matched filter w_(Ri), which may be a component in the interference cancellation matrix W_(R), may enable the i^(th) UE station 222 to selectively receive signal y_(i) from the composite signal Y. Selective reception of the signal y_(i) may enable the i^(th) UE station 222 to decode the data stream x_(i) while rejecting interference from signals y_(j) (j≠i).

The processor 112 may enable generation of a precoding matrix (W_(T)) based on the interference cancellation matrix. A transmitter 116 within the node B 102 may enable generation of a plurality of signals based on the precoding matrix. The plurality of signals may be generated based on the data stream signals x_(i) on a modified beamforming matrix (V_(T)), which may be generated by a precoder 202 and a beamformer 204. The generated plurality of signals may be transmitted by a plurality of transmitting antennas 212 a, 212 b, . . . , 212 n via a wireless communication medium 262.

The processor 112 may enable generation of the modified beamforming matrix V_(T) based on the preceding matrix W_(T) and a generated beamforming matrix (V) as shown in equation [12]. In an exemplary embodiment of the invention, the precoding matrix W_(T) may be computed as shown in equation [10a] and is referred to as a correlation matrix. The beamforming matrix V and/or one or more user channel matrices (H_(i)) may be generated based on signals received via the wireless communication medium 262. A beamforming controller 206 in a node B receiver 118 may enable reception of one or more user beamforming matrices (v_(i)) and/or user channel quality information (CQI_(i)) via the received signals. The signals may be received from one or more UE stations 222 as shown in FIG. 2. The preceding matrix W_(T) and/or beamforming matrix V may be generated based on the user beamforming matrices and/or user channel quality information.

Data from the modified beamforming matrix V_(T) may be transmitted by the plurality of antennas 212 a, 212 b, . . . , 212 n via the wireless communication medium 262. The processor 112 within the node B 102 may enable generation of a quantized version of the modified beamforming matrix V_(T) (V_(T) ^(Q)) based on a code book. The plurality of transmitting antennas 212 a, 212 b, . . . , 212 n may enable transmission of data from the quantized matrix V_(T) ^(Q) via the wireless communication medium 262.

The processor 112 may enable generation of the quantized matrix V_(T) ^(Q) by computing a correlation value between each element in the modified beamforming matrix V_(T) and each entry value within the code book as shown in equation [13]. The quantized matrix V_(T) ^(Q) may be generated based on a computed maximum value for each of the matrix elements as shown in equation [13]. An index value (p), which references a selected entry value within the code book, may be computed for each of the matrix element based on the plurality of maximum values computed as shown in equation [13]. The plurality of transmitting antennas 212 a, 212 b, . . . , 212 n may enable transmission of the plurality of index values via the wireless communication medium 262.

Another embodiment of the invention may provide a machine-readable storage, having stored thereon, a computer program having at least one code section executable by a machine, thereby causing the machine to perform the steps as described herein for beamforming in a multiple user multiple input multiple output (MIMO) communication system using a codebook.

Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.

The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.

While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims. 

1. A system for communicating information in a wireless communication system, the system comprising: one or more circuits operable to generate an interference cancellation matrix that enables a composite signal to be represented as a plurality of subsidiary signals, wherein the plurality of subsidiary signals corresponds to a plurality of data stream signals; the one or more circuits are operable to generate a precoding matrix based on the generated interference cancellation matrix; the one or more circuits are operable to generate a plurality of signals for transmission based on the generated precoding matrix and based on the plurality of data stream signals; and the one or more circuits are operable to transmit the generated plurality of signals via a wireless communication medium.
 2. The system according to claim 1, wherein the one or more circuits are operable to generate a modified beamforming matrix based on the generated precoding matrix and a generated beamforming matrix.
 3. The system according to claim 2, wherein the one or more circuits are operable to generate the generated beamforming matrix and one or more user channel matrices based on signals received via the wireless communication medium.
 4. The system according to claim 3, wherein the one or more circuits are operable to receive one or more user beamforming vectors and/or user channel quality information via the received signals.
 5. The system according to claim 4, wherein the one or more circuits are operable to generate the precoding matrix and/or the beamforming matrix based on the received one or more user beamforming vectors and/or user channel quality information.
 6. The system according to claim 2, wherein the one or more circuits are operable to transmit data from the generated modified beamforming matrix via the wireless communication medium.
 7. The system according to claim 2, wherein the one or more circuits are operable to generate a quantized version of the generated modified beamforming matrix based on a code book.
 8. The system according to claim 7, wherein the one or more circuits are operable to transmit data from the quantized version via the wireless communication medium.
 9. The system according to claim 7, wherein the one or more circuits are operable to generate the quantized version by computing a correlation value between each matrix element in the generated modified beamforming matrix and each entry value within the code book.
 10. The system according to claim 9, wherein the one or more circuits are operable to generate the quantized version based on a computed maximum value for each of the plurality of matrix elements.
 11. The system according to claim 10, wherein the one or more circuits are operable to generate an index value, which references a selected entry value within the code book, for each of the plurality of matrix elements based on the plurality of maximum values.
 12. The system according to claim 11, wherein the one or more circuits are operable to transmit the plurality of index values via the wireless communication medium.
 13. A method for communicating information in a wireless communication system, the method comprising: generating an interference cancellation matrix that enables a composite signal to be represented as a plurality of subsidiary signals, wherein each of the plurality of subsidiary signals corresponds to a plurality of data stream signals; generating a precoding matrix based on the generated interference cancellation matrix; generating a plurality of signals for transmission based on the generated precoding matrix and based on the plurality of data stream signals; and transmitting the generated plurality of signals via a wireless communication medium.
 14. The method according to claim 13, comprising generating a modified beamforming matrix based on the generated precoding matrix and a generated beamforming matrix.
 15. The method according to claim 14, comprising generating the generated beamforming matrix and one or more user channel matrices based on signals received via the wireless communication medium.
 16. The method according to claim 15, comprising receiving one or more user beamforming vectors and/or user channel quality information via the received signals.
 17. The method according to claim 16, comprising generating the precoding matrix and/or the beamforming matrix based on the received one or more user beamforming vectors and/or user channel quality information.
 18. The method according to claim 14, comprising transmitting data from the generated modified beamforming matrix via the wireless communication medium.
 19. The method according to claim 14, comprising generating a quantized version of the generated modified beamforming matrix based on a code book.
 20. The method according to claim 19, comprising transmitting data from the quantized version via the wireless communication medium.
 21. The method according to claim 19, comprising generating the quantized version by computing a correlation value between each matrix element in the generated modified beamforming matrix and each entry value within the code book.
 22. The method according to claim 21, comprising generating the quantized version based on a computed maximum value for each of the plurality of matrix elements.
 23. The method according to claim 22, comprising computing an index value, which references a selected entry value within the code book, for each of the plurality of matrix elements based on the plurality of maximum values.
 24. The method according to claim 23, comprising transmitting the plurality of index values via the wireless communication medium. 